package components.tile;

import java.awt.Color;
import java.util.ArrayList;
import java.util.HashMap;

import HECS.HECSComponent;
import core.Constants;
import core.Encounter;

public class ClimateComponent extends HECSComponent {
	public int id;
	public Color color;
	public ArrayList<Encounter> commonMonster;
	public ArrayList<Encounter> rareMonster;
	public ArrayList<Encounter> uniqueMonster;
	public ArrayList<Encounter> neutral;
	public ArrayList<Encounter> shrine;

	public VegetationComponent[] vegetation;


	public ClimateComponent(int id, Color color) {
		this.id = id;
		this.color = color;
		//EXTREME_ARCTIC
		if(id == 0){
			vegetation = new VegetationComponent[]{
			 new VegetationComponent(Constants.TUNDRA, 1)};
		}
		//ARCTIC
		if(id == 1){
			vegetation = new VegetationComponent[]{
					 new VegetationComponent(Constants.TUNDRA, 9),
					 new VegetationComponent(Constants.WOODS, 1) };
		}
		//SUB_ARCTIC
		if(id == 2){
			vegetation = new VegetationComponent[]{
					 new VegetationComponent(Constants.PLAINS, 7),
					 new VegetationComponent(Constants.TUNDRA, 1),
					 new VegetationComponent(Constants.WOODS, 2) };
		}
		//NORTHERN
		if(id == 3){
			vegetation = new VegetationComponent[]{
					 new VegetationComponent(Constants.FOREST, 14),
					 new VegetationComponent(Constants.GRASSLANDS, 2),
					 new VegetationComponent(Constants.MARSH, 2),
					 new VegetationComponent(Constants.PLAINS, 1),
					 new VegetationComponent(Constants.WOODS, 2) };	
		}
		//TEMPERATE
		if(id == 4){
			vegetation = new VegetationComponent[]{
					 new VegetationComponent(Constants.FOREST, 4),
					 new VegetationComponent(Constants.GRASSLANDS, 4),
					 new VegetationComponent(Constants.MARSH, 1),
					 new VegetationComponent(Constants.SWAMP, 1),
					 new VegetationComponent(Constants.WOODS, 4) };	
		}
		//MEDITERRANEAN
		if(id == 5){
			vegetation = new VegetationComponent[]{
					 new VegetationComponent(Constants.DESERT, 2),
					 new VegetationComponent(Constants.FOREST, 2),
					 new VegetationComponent(Constants.GRASSLANDS, 1),
					 new VegetationComponent(Constants.PLAINS, 4),
					 new VegetationComponent(Constants.WOODS, 6) };	
		}
		//ARID
		if(id == 6){
			vegetation = new VegetationComponent[]{
					 new VegetationComponent(Constants.DESERT, 7),
					 new VegetationComponent(Constants.OASIS, 1),
					 new VegetationComponent(Constants.PLAINS, 2)};
		}
		//SUB_TROPICAL
		if(id == 7){
			vegetation = new VegetationComponent[]{
					 new VegetationComponent(Constants.GRASSLANDS, 2),
					 new VegetationComponent(Constants.JUNGLE, 7),
					 new VegetationComponent(Constants.SWAMP, 3),
					 new VegetationComponent(Constants.PLAINS, 2)};
		}
		//TROPICAL
		if(id == 8){
			vegetation = new VegetationComponent[]{
					 new VegetationComponent(Constants.JUNGLE, 7),
					 new VegetationComponent(Constants.SWAMP, 4)};
		}
		//ARCTIC_HIGHLANDS
		if(id == 9){
			vegetation = new VegetationComponent[]{
					 new VegetationComponent(Constants.PLAINS, 2),
					 new VegetationComponent(Constants.GRASSLANDS, 2),
					 new VegetationComponent(Constants.TUNDRA, 5),
					 new VegetationComponent(Constants.WOODS, 1) };
		}
	}
}
